package cn.tedu.collection;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 * @author :Colin
 * @version 创建时间: 2021/6/21 16:46
 * 本类用于测试set接口
 */
public class TestSet {
    public static void main(String[] args) {
     Set<String> set=new HashSet<String>();
        set.add("1");
        set.add("1");
        set.add("1");
        set.add("4");
        set.add("5");
        set.add(null);
        set.add("null");
        System.out.println(set);
        /*1.set集合中的元素是无序的，
        2.set当中只能存放不重复的数据
        3.可以存放null值，也只允许存0-1个*/
        //常用方法测试
        //set.clear();
        System.out.println(set.contains("1"));
        System.out.println(set.hashCode());
        System.out.println(set.isEmpty());
        System.out.println(set.equals("4"));
        System.out.println(set.remove(null));
        System.out.println(set);
        System.out.println(set.size());
        System.out.println(Arrays.toString(set.toArray()));

        //集合间的测试
        Set<String> set2 = new HashSet<>();
        set2.add("lion");
        set2.add("sea");
        set2.add("rabbit");
        set2.add("tiger");
        System.out.println(set2);
        System.out.println(set.addAll(set2));//set2中所有元素添加到set集合中
        System.out.println(set.containsAll(set2));//true
        System.out.println(set);
        System.out.println(set);
        //System.out.println(set.retainAll(set2));//true,交集
        System.out.println(set2.retainAll(set));//false
        System.out.println(set);
        System.out.println(set2);
        Iterator<String> it =set.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }


    }
}
